/**
 * 获取本周、本季度、本月、上月的开始日期、结束日期
 */
var now = new Date(); //当前日期   
var nowDayOfWeek = now.getDay(); //今天本周的第几天   
var nowDay = now.getDate(); //当前日   
var nowMonth = now.getMonth(); //当前月   
var nowYear = now.getYear(); //当前年   
nowYear += (nowYear < 2000) ? 1900 : 0; //  

var lastMonthDate = new Date(); //上月日期
lastMonthDate.setDate(1);
lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
var lastYear = lastMonthDate.getYear();
var lastMonth = lastMonthDate.getMonth();

function formatDate(date, str) {
	var myyear = date.getFullYear();
	var mymonth = date.getMonth() + 1;
	var myweekday = date.getDate();
	var myHour = date.getHours();
	var myMinutes = date.getMinutes();
	var mySeconds = date.getSeconds();

	if (mymonth < 10) {
		mymonth = "0" + mymonth;
	}
	if (myweekday < 10) {
		myweekday = "0" + myweekday;
	}

	return myyear + "-" + mymonth + "-" + myweekday;
}

function getMonthDays() {
	var monthStartDate = new Date(nowYear, nowMonth, 1);
	var monthEndDate = new Date(nowYear, nowMonth + 1, 1);
	var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
	return days;
}
//获得本季度的开始月份   
function getQuarterStartMonth() {
	var quarterStartMonth = 0;
	if (nowMonth < 3) {
		quarterStartMonth = 0;
	}
	if (2 < nowMonth && nowMonth < 6) {
		quarterStartMonth = 3;
	}
	if (5 < nowMonth && nowMonth < 9) {
		quarterStartMonth = 6;
	}
	if (nowMonth > 8) {
		quarterStartMonth = 9;
	}
	return quarterStartMonth;
}
export default {

	/**
	 * 获得本周的开始时间
	 *
	 */
	getStartDayOfWeek() {
		var day = nowDayOfWeek || 7;
		return formatDate(
			new Date(now.getFullYear(), nowMonth, nowDay + 1 - day), '00:00:00'
		);
	},
	/**
	 * 获得本周的结束时间
	 *
	 */
	getEndDayOfWeek() {
		var day = nowDayOfWeek || 7;
		return formatDate(
			new Date(now.getFullYear(), nowMonth, nowDay + 7 - day), '23:59:59'
		);
	},

	/**
	 * 获得本月的开始时间
	 *
	 */
	getStartDayOfMonth() {
		var monthStartDate = new Date(nowYear, nowMonth, 1);
		return formatDate(monthStartDate, '00:00:00');
	},
	/**
	 * 获得本月的结束时间
	 *
	 */
	getEndDayOfMonth() {
		var monthEndDate = new Date(nowYear, nowMonth, getMonthDays());
		return formatDate(monthEndDate, '23:59:59');
	},
	/**
	 * 获得本季度的开始日期
	 *
	 */
	getQuarterStartDate() {
		var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
		return formatDate(quarterStartDate, '00:00:00');
	},
	/**
	 * 获得本季度的结束日期   
	 *
	 */
	getQuarterEndDate() {
		var quarterEndMonth = getQuarterStartMonth() + 2;
		var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
		return formatDate(quarterStartDate, '23:59:59');
	}
}